'****************************************************************************'
'                                                                            '
' Copyright (C) 2010 Muhammad alaa                                           '
'                                                                            '
' This program is free software; you can redistribute it and/or modify       '
' it under the terms of the GNU General Public License as published by       '
' the Free Software Foundation; either version 2 of the License, or          '
' (at your option) any later version.                                        '
'                                                                            '
' This program is distributed in the hope that it will be useful,            '
' but WITHOUT ANY WARRANTY; without even the implied warranty of             '
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              '
' GNU General Public License for more details.                               '
'                                                                            '
' You should have received a copy of the GNU General Public License along    '
' with this program; if not, write to the Free Software Foundation, Inc.,    '
' 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.                '
'                                                                            '
'****************************************************************************'

Public Enum APTType
    Current = -1
    STA = 0
    MTA = 1
    NA = 2
    MainSTA = 3
End Enum

Public Enum APTTypeQualifier
    None = 0
    ImplicitMTA = 1
    NA_On_MTA = 2
    NA_On_STA = 3
    NA_On_ImplicitMTA = 4
    NA_On_MainSTA = 5
End Enum

<Flags()> _
Public Enum BindFlags
    MayBotherUser = 1
    JustTestExistence = 2
End Enum

Public Enum BindSpeed
    InDefineite = 1
    Moderate = 2
    Immediate = 3
End Enum

Public Enum BSCO_Option
    OnStartBinding = &H1
    GetPriority = &H2
    OnLowResource = &H4
    OnProgress = &H8
    OnStopBinding = &H10
    GetBindInfo = &H20
    OnDataAvailable = &H40
    OnObjectAvailable = &H80
    AllOnIBSC = &HFF
    AlOnIBDGSite = &H1F
End Enum

Public Enum CallFrameCopy
    Nested = 1
    Independent = 2
End Enum

Public Enum CallFrameFree
    None = 0
    [In] = 1
    InOut = 2
    Out = 4
    TopInOut = 8
    TopOut = 16
    FreeAll = 31
End Enum

Public Enum CallFrameNull
    None = 0
    InOut = 2
    Out = 4
    All = 6
End Enum

Public Enum CallFrameWalk
    [In] = 1
    InOut = 2
    Out = 4
End Enum

Public Enum CallType
    TopLevel = 1
    Nested = 2
    Async = 3
    TopLevelCallPending = 4
    AsyncCallPending = 5
End Enum

Public Enum ClsCtx
    InProcServer = &H1
    InProcHandler = &H2
    LocalServer = &H4
    InProcServer16 = &H8
    RemoteServer = &H10
    InProcHandler16 = &H20
    Reserved1 = &H40
    Reserved2 = &H80
    Reserved3 = &H100
    Reserved4 = &H200
    NoCodeDownload = &H400
    Reserved5 = &H800
    NoCustomMarshal = &H1000
    EnableCodeDownload = &H2000
    NoFailureLog = &H4000
    DisableAAA = &H8000
    EnableAAA = &H10000
    FromDefaultContext = &H20000
    Activate32bitServer = &H40000
    Activate64bitServer = &H80000
    EnableCloaking = &H100000
    PsDLL = &H80000000
End Enum

Public Enum CoInit
    ApartmentThreaded = 2
    MultiThreaded = 0
    DisableOLE1DDE = 4
    SpeedOverMemory = 8
End Enum

<Flags()> _
Public Enum CoWaitFlags
    WaitAll = 1
    Alertable = 2
    InputAvailable = 4
End Enum

Public Enum EOC_ChangeType
    NewObject = 0
    ModifiedObject = 1
    DeletedObject = 2
End Enum

Public Enum AuthenticationCapabilities
    None = 0
    MutualAuth = &H1
    StaticCloaking = &H20
    DynamicCloaking = &H40
    AnyAuthority = &H80
    MakeFullSIC = &H100
    [Default] = &H800
    SecureREFs = &H2
    AccessControl = &H4
    APPID = &H8
    Dynamic = &H10
    RequireFullSIC = &H200
    AutoImpersonate = &H400
    NoCustomMarshal = &H2000
    DisableAAA = &H1000
End Enum

Public Enum ExtConn
    Strong = 1
    Weak = 2
    Callable = 4
End Enum

Public Enum MkrReduce
    All = 0
    One = 196608
    ThrughUser = 65536
    ToUser = 131072
End Enum

Public Enum MKSys
    None = 0
    GenericComposite = 1
    FileMoniker = 2
    AntiMoniker = 3
    ItemMoniker = 4
    PointerMoniker = 5
    ClassMoniker = 7
    ObjRefMoniker = 8
    SessionMoniker = 9
    LuaMoniker = 10
End Enum

Public Enum MshCtx
    Local = 0
    NoSharedMem = 1
    DifferentMachine = 2
    InProc = 3
    CrossCtx = 4
End Enum

<Flags()> _
Public Enum MshlFlags
    Normal = 0
    TableStrong = 1
    TableWeak = 2
    NoPing = 4
End Enum

Public Enum PendingMsg
    CancelCall = 0
    WaitDefProcess = 2
    WaitNoProcess = 1
End Enum

<Flags()> _
Public Enum PendingType
    TopLevel = 1
    Nested = 2
End Enum

Public Enum RecordReadingPolicy
    Forward = 1
    Backward = 2
    Random = 3
End Enum

Public Enum RegCls
    SingleUse = 0
    MultipleUse = 1
    MultiSeparate = 2
    Suspended = 4
    Surrogate = 8
End Enum

Public Enum ServerCall
    IsHandled = 0
    Rejected = 1
    RetryLater = 2
End Enum

Public Enum ThdType
    BlockMessages = 0
    ProcessMessages = 1
End Enum

Public Enum TySpec
    ClsID = 0
    FileExt = 1
    MimeType = 2
    FileName = 3
    ProgID = 4
    PackageName = 5
    ObjectID = 6
End Enum

<Flags()> _
Public Enum AccessFlags
    Allowed = 0
    Denied = &H10000000
End Enum

Public Enum AuthenticationLevel
    [Default] = 0
    None = 1
    Connect = 2
    [Call] = 3
    Pkt = 4
    PktIntegrty = 5
    PktPrivacy = 6
End Enum

Public Enum AuthenticationService
    None = 0
    DcePrivate = 1
    DCEPublic = 2
    DecPublic = 4
    GssNegotiate = 9
    WinNT = 10
    GssSchannel = 14
    GssKerberOS = 16
    DPA = 17
    MSN = 18
    Kernel = 20
    Digest = 21
    NgoExtender = 30
    PKU2U = 31
    MQ = 100
    [Default] = &HFFFFFFFF
End Enum

Public Enum Authorization
    None = 0
    Name = 1
    DCE = 2
    [Default] = &HFFFFFFFF
End Enum

Public Enum ImpersonationLevel
    [Default] = 0
    Anonymous = 1
    Identify = 2
    Impersonate = 3
    [Delegate] = 4
End Enum

Public Enum AuthIdentity
    Ansi = 1
    Unicode = 2
End Enum

Public Enum MultipleTrusteeOperation
    NoMultipleTrustee
    TrusteeIsImprsonate
End Enum

Public Enum TrusteeForm
    TrusteeIsSID
    TrusteeIsName
    TrusteeBadForm
    TrusteeIsObjectsAndSID
    TrusteeIsObjectsAndName
End Enum

Public Enum TrusteeType
    TrusteeIsUnknown
    TrusteeIsUser
    TrusteeIsGroup
    TrusteeIsDomain
    TrusteeIsAlias
    TrusteeIsWellKnownGroup
    TrusteeIsDeleted
    TrusteeIsInvalid
    TrusteeIsComputer
End Enum

<Flags()> _
Public Enum ActrlAccessFlags
    AccessAllowed = 1
    AccessDenied = 2
    AuditSuccess = 4
    AuditFailure = 8
End Enum

<Flags()> _
Public Enum OleContF
    Embeddings = 1
    Links = 2
    Others = 4
    OnlyUser = 8
    OnlyIfRunning = 16
End Enum

Public Enum GuidKind
    DefaultSourceDispIID = 1
End Enum

<Flags()> _
Public Enum MultiClassInfo
    GetTypeInfo = 1
    GetNumReservedDispIDs = 2
    GetIIDPrimary = 4
    GetIIDSource = 8
End Enum

Public Enum DComCallState
    None = 0
    Complete = 1
    Canceled = 2
End Enum

Public Enum ApplicationType
    ServerApplication
    LibraryApplication
End Enum

Public Enum ShutdownType
    IdleShutdown
    ForcedShutdown
End Enum

Public Enum StdMshFlags
    Handler = 0
    Server = 1
End Enum

<Flags()> _
Public Enum DVAspect
    Content = 1
    Thumbnail = 2
    Icon = 4
    DocPrint = 8
End Enum

Public Enum DropEffect
    None = 0
    Copy = 1
    Move = 2
    Link = 4
    Scroll = &H80000000
End Enum

Public Enum ActivateFlags
    Windowless = 1
End Enum

<Flags()> _
Public Enum AdvF
    NoData = 1
    PrimeFirst = 2
    OnlyOnce = 4
    DataOnStop = 64
    NoHandler = 8
    ForceBuiltIn = 16
    OnSave = 32
End Enum

<Flags()> _
Public Enum DataDir
    [Get] = 1
    [Set] = 2
End Enum

Public Enum DiscardCache
    SaveIfDirty = 0
    NoSave = 1
End Enum

<Flags()> _
Public Enum DocMisc
    CanCreateMultipleViews = 1
    SupportComplexRectangles = 2
    CantOpenEdit = 4
    NoFileSupport = 8
End Enum

Public Enum DVAspect2
    Opaque = 16
    Transparent = 32
End Enum

Public Enum DVAspectInfoFlag
    CanOptimize = 1
End Enum

Public Enum DVExtentMode
    Content = 0
    Integral = 1
End Enum

Public Enum HitResult
    Outside = 0
    Transparent = 1
    Close = 2
    Hit = 3
End Enum

Public Enum OleClose
    SaveIfDirty = 0
    NoSave = 1
    PromptSave = 2
End Enum

Public Enum OleCmdExecOpt
    DoDefault = 0
    PromptUser = 1
    DontPromptUser = 2
    ShowHelp = 3
End Enum

<Flags()> _
Public Enum OleCmdF
    Supported = 1
    Enabled = 2
    Latched = 4
    Ninched = 8
End Enum

Public Enum OleCmdID
    Open = 1
    [New] = 2
    Save = 3
    SaveAs = 4
    SaveCopyAs = 5
    Print = 6
    PrintPreview = 7
    PageSetup = 8
    Spell = 9
    Pproperties = 10
    Cut = 11
    Copy = 12
    Paste = 13
    PasteSpecial = 14
    Undo = 15
    Redo = 16
    SelectAll = 17
    ClearSelection = 18
    Zoom = 19
    GetZoomRange = 20
    UpdateCommands = 21
    Refresh = 22
    [Stop] = 23
    HideToolbars = 24
    SetProgressMax = 25
    SetProgressPos = 26
    SetProgressText = 27
    SetTitle = 28
    SetDownoadState = 29
    StopDownload = 30
    Find = 32
    Delete = 33
    Print2 = 49
    PrintPreview2 = 50
    PageActionBlocked = 55
    PageActionUIQuery = 56
    FocusViewControls = 57
    FocusViewControlsQuery = 58
    ShowPageActionMenu = 59
    AddTravelEntry = 60
    UpdateTravelEntry = 61
    UpdateBackForwardState = 62
    OpticalZoom = 63
    OpticalGetZoomRange = 64
    WindowStateChanged = 65
    ActiveXInstallScope = 66
    UpdateTravelEntryDataRecovery = 67
End Enum

<Flags()> _
Public Enum OleCmdIDWindowStateFlags
    UserVisible = 1
    Enabled = 2
    UserVisibleValid = &H1000
    EnabledVaild = &H2000
End Enum

Public Enum OleCmdTextF
    None = 0
    Name = 1
    Status = 2
End Enum

<Flags()> _
Public Enum OleDCFlags
    NoDraw = 1
    PaintBkgnd = 2
    OffScreen = 4
End Enum

Public Enum OleGetMoniker
    OnlyIfThere = 1
    ForceAssign = 2
    InAssign = 3
    TempForUser = 4
End Enum

Public Enum OleLinkBind
    EvenIfClassDiff = 1
End Enum

<Flags()> _
Public Enum OleMisc
    RecomposeOnResize = &H1
    OnlyIconic = &H2
    InsertNotReplace = &H4
    [Static] = &H8
    CantLinkInside = &H10
    CanLinkByOLE1 = &H20
    IsLinkObject = &H40
    InsideOut = &H80
    ActiviteWhenVisible = &H100
    RenderingIsDeviceIndependent = &H200
    InvisibleAtRuntime = &H400
    AlwaysRun = &H800
    ActsLikeButton = &H1000
    Acts = &H2000
    NoUIActivate = &H4000
    Alignable = &H8000
    SimpleFrame = &H10000
    SetClientSiteFirst = &H20000
    IMEMode = &H40000
    IgnoreActiviteWhenVisible = &H80000
    WantToMenuMerge = &H100000
    SupportsMultilevelUndo = &H200000
End Enum

Public Enum OleRender
    None = 0
    Draw = 1
    Format = 2
    Asis = 3
End Enum

<Flags()> _
Public Enum OleUIPasteFlag
    EnableIcon = 2048
    PasteOnly = 0
    Paste = 512
    LinkType1 = 1
    LinkType2 = 2
    LinkType3 = 4
    LinkType4 = 8
    LinkType5 = 16
    LinkType6 = 32
    LinkType7 = 64
    LinkType8 = 128
End Enum

Public Enum OleUpdate
    Always = 1
    OnCall = 3
End Enum

Public Enum OleVerbAttrib
    NeverDirties = 1
    OnContainerMenu = 2
End Enum

Public Enum OleWhichMK
    Container = 1
    ObjRel = 2
    ObjFul = 3
End Enum

<Flags()> _
Public Enum TyMed
    HGlobal = 1
    File = 2
    IStream = 4
    IStorage = 8
    GDI = 16
    MFPic = 32
    EnhMF = 64
    Null = 0
End Enum

Public Enum UASFlags
    Normal = 0
    Blocked = 1
    NoParentEnable = 2
    Mask = 3
End Enum

Public Enum UserClassType
    Full = 1
    [Short] = 2
    AppName = 3
End Enum

<Flags()> _
Public Enum ViewStatus
    Opaque = 1
    SolidBkgnd = 2
    DVAspectOpaque = 4
    DVAspectTransparent = 8
End Enum

Public Enum ClipFormat
    Text = 1
    Bitmap = 2
    MetaFilePict = 3
    SyLK = 4
    Dif = 5
    Tiff = 6
    OemText = 7
    Dib = 8
    Palette = 9
    PenData = 10
    Riff = 11
    Wave = 12
    UnicodeText = 13
    EnhMetaFile = 14
    HDrop = 15
    Locale = 16
    Max = 17
    OwnerDisplay = &H80
    DspText = &H81
    DspBitmap = &H82
    DspMetaFilePict = &H83
    DspEnhMetaFile = &H8E
End Enum

<Flags()> _
Public Enum OleUIBusyFlags
    DisableCancelButton = 1
    DisableSwitchToButton = 2
    DisableRetryButton = 4
    NotRespondingDialog = 8
End Enum

<Flags()> _
Public Enum ChangeIconFlags
    ShowHelp = 1
    SelectCurrent = 2
    SelectDefault = 4
    SelectFromFile = 8
    UseIconExe = 16
End Enum

<Flags()> _
Public Enum OpenFileDialogFlags
    [Readonly] = 1
    OverwritePrompt = 2
    HideReadonly = 4
    NoChangeDir = 8
    ShowHelp = &H10
    EnableHook = &H20
    EnableTemplate = &H40
    EnableTemplateHandle = &H80
    NoValidate = &H100
    AllowMultiSelect = &H200
    ExtensionDifferent = &H400
    PathMustExist = &H800
    FileMustExist = &H1000
    CreatePrompt = &H2000
    Shareware = &H4000
    NoReadonlyReturn = &H8000
    NoTestFileCreate = &H10000
    NoNetworkButton = &H20000
    NoLongNames = &H40000
    Explorer = &H80000
    NodeReferenceinks = &H100000
    LongNames = &H200000
    EnableIncludeNotify = &H400000
    EnableSizing = &H800000
    DontAddToRecent = &H2000000
    ForceShowHidden = &H10000000
End Enum

Public Enum OpenFileDialogFlagsEx
    NoPlacesBar = 1
End Enum

<Flags()> _
Public Enum ChangeSourceDialogFlags
    ShowHelp = 1
    ValidSource = 2
    OnlyGetSource = 4
    Explorer = 8
End Enum

<Flags()> _
Public Enum ConvertDialogFlags
    ShowHelpButton = 1
    SetConvertDefault = 2
    SetActivateDefault = 4
    SelectConvertTo = 8
    SelectActivateAs = &H10
    DisableDisplayAsIcon = &H20
    DisableActivateAs = &H40
    HideChangeIcon = &H80
    ConvertOnly = &H100
End Enum

<Flags()> _
Public Enum EditLinksFlags
    ShowHelp = 1
    DisableUpdateNow = 2
    DisableOpenSource = 4
    DisablehangeSource = 8
    DisableCancelLink = 16
End Enum

<Flags()> _
Public Enum InsertObjectFlags
    ShowHelp = 1
    SelectCreateNew = 2
    SelectCreateFromFile = 4
    CheckLink = 8
    CheckDisplayAsIcon = &H10
    CreateNewObject = &H20
    CreateFileObject = &H40
    CreateLinkObject = &H80
    DisableLink = &H100
    VerifyServerExist = &H200
    DisableDisplayAsIcon = &H400
    HideChangeIcon = &H800
    ShowInsertControl = &H1000
    SelectCreateControl = &H2000
End Enum

<Flags()> _
Public Enum ObjectPropsFlags
    ObjectIsLink = 1
    NoFillDefault = 2
    ShowHelp = 4
    DisableConvert = 8
End Enum

<Flags()> _
Public Enum PasteSpecialFlags
    ShowHelp = 1
    SelectPaste = 2
    SelectPasteLink = 4
    CheckDisplayAsIcon = 8
    DisableDisplayAsIcon = &H10
    HideChangeIcon = &H20
    StayOnClipboardChange = &H40
    NoRefreshataObject = &H80
End Enum

<Flags()> _
Public Enum ViewPropsFlags
    SelectRelative = 1
    DisableRelative = 2
    DisableScale = 4
End Enum

<Flags()> _
Public Enum PropertySheetFlags
    [Default] = 0
    PropTitle = 1
    UseHIcon = 2
    UseIconID = 4
    PropSheetPage = 8
    WizardHasFinish = &H10
    Wizard = &H20
    UsepStartPage = &H40
    NpApplyNow = &H80
    UseCallback = &H100
    HasHelp = &H200
    Modeless = &H400
    RtlReading = &H800
    WizardContextHelp = &H1000
    Wizard97 = &H1000000
    WaterMark = &H8000
    UsehbmWaterMark = &H10000
    UsehPLWaterMark = &H20000
    StretchWaterMark = &H40000
    Header = &H80000
    UsehbmHeader = &H100000
    UsePageLang = &H200000
    WizardLite = &H400000
    NoContextHelp = &H2000000
End Enum

<Flags()> _
Public Enum UpdFCache
    NoDataCache = 1
    OnSaveCache = 2
    OnStopCache = 4
    NormalCache = 8
    IfBlank = &H10
    OnlyIfBlank = &H80000000
    IfBlankOrOnSaveCache = &H12
    All = &H7FFFFFFF
    AllButNoDataCache = &HFFFFFFFE
End Enum

<Flags()> _
Public Enum PaletteEntryFlags
    Reserved = 1
    Explicit = 2
    NoCollapse = 4
End Enum

Public Enum PicType
    Uninitialized = -1
    None = 0
    Bitmap = 1
    Metafile = 2
    Icon = 3
    EnhMetafile = 4
End Enum

<Flags()> _
Public Enum KeyModifiers
    Shift = 1
    Control = 2
    Alt = 4
End Enum

<Flags()> _
Public Enum PictureAttributes
    Scalable = 1
    Transparent = 2
End Enum

<Flags()> _
Public Enum PointerInactive
    ActivateOnEntry = 1
    DeactivateOnLeave = 2
    ActivateOnDrag = 4
End Enum

<Flags()> _
Public Enum QAContainerFlags
    ShowHtching = 1
    ShowGabHandles = 2
    UserMode = 4
    DisplayAsDefault = 8
    UIDead = 16
    AutoClip = 32
    MessageReflect = 64
    SupportsMnmonics = 128
End Enum

<Flags()> _
Public Enum XFormCoords
    Position = 1
    Size = 2
    HiMetricToContainer = 4
    ContainerToHiMetric = 8
    EventCompat = 16
End Enum

<Flags()> _
Public Enum PrintFlags
    MayBotherUser = 1
    PromptUser = 2
    UserMayChangePrinter = 4
    RecomposeToDevice = 8
    DontActuallyPrint = 16
    ForceProperties = 32
    PrintToFile = 64
End Enum

<Flags()> _
Public Enum PropertyPageStatus
    Dirty = 1
    Validate = 2
End Enum

Public Enum DispatchFlags
    Method
    PropertyGet
    PropertPut
    PropertPutRef
End Enum

Public Enum CallConv
    FastCall = 0
    CDecl = 1
    MscPascal = CDecl + 1
    Pascal = MscPascal
    MacPascal = Pascal + 1
    StdCall = MacPascal + 1
    FpFastCall = StdCall + 1
    SysCall = FpFastCall + 1
    MpwCDecl = SysCall + 1
    MpwPascal = MpwCDecl + 1
    Max = MpwPascal + 1
End Enum

Public Enum VarKind
    PerInstance
    [Static]
    [Const]
    Dispatch
End Enum

<Flags()> _
Public Enum VarFlags
    [ReadOnly] = 1
    Source = 2
    Bindable = 4
    RequestEdit = 8
    DisplayBind = 16
    DefaultBind = 32
    Hidden = 64
    Restricted = 128
    DefaultCollElem = 256
    UIDefault = 512
    NonBrowsable = 1024
    Replaceble = 2048
    ImmediateBind = 4096
End Enum

Public Enum TypeKind
    [Enum] = 0
    Record
    [Module]
    [Interface]
    Dispatch
    Coclass
    [Alias]
    Union
    Max
End Enum

<Flags()> _
Public Enum TypeFlags
    AppObject = 1
    CanCreate = 2
    Licensed = 4
    Predeclid = 8
    Hidden = &H10
    Control = &H20
    Dual = &H40
    NonExtensible = &H80
    OleAutomation = &H100
    Restricted = &H200
    Aggregatable = &H400
    Replaceable = &H800
    Dispatchable = &H1000
    ReverseBind = &H2000
    Proxy = &H4000
End Enum

<Flags()> _
Public Enum ParamFlags
    None = 0
    [In] = 1
    Out = 2
    Lcid = 4
    Retval = 8
    Opt = 16
    HasDefault = 32
    HasCustData = 64
End Enum

<Flags()> _
Public Enum InvokeKind
    Func = 1
    PropertyGet = 2
    PropertyPut = 4
    PropertyPutRef = 8
End Enum

<Flags()> _
Public Enum ImplTypeFlags
    [Default] = 1
    Source = 2
    Restricted = 4
    DefaultVTable = 8
End Enum

Public Enum FuncKind
    Virtual
    PureVirtual
    NonVirtual
    [Static]
    Dispatch
End Enum

<Flags()> _
Public Enum FunFlags
    Restricted = 1
    Bindable = 2
    Source = 4
    RequestEdit = 8
    DisplayBind = 16
    DefaultBind = 32
    Hidden = 64
    UseGetLastEror = 128
    DefaultCollElem = 256
    UIDefault = 512
    NonBrowseable = 1024
    ImmediateBind = 2048
End Enum

<Flags()> _
Public Enum IdlFlags
    None = 0
    [In] = 1
    Lcid = 4
    Out = 2
    RetVal = 8
End Enum

<Flags()> _
Public Enum LibFlags
    Restricted = 1
    Control = 2
    Hidden = 4
    HasDiskImage = 8
End Enum

Public Enum RegKind
    [Default]
    Register
    None
End Enum

Public Enum SysKind
    Win16
    Win32
    Mac
End Enum

Public Enum DescKind
    None
    FunDesc
    VarDesc
    TypeComp
    ImplicitAppObj
    Max
End Enum

<Flags()> _
Public Enum LockType
    Write = 1
    Exclusive = 2
    OnlyOnce = 4
End Enum

Public Enum StatFlag
    [Default]
    NoName
    NoOpen
End Enum

<Flags()> _
Public Enum StgC
    [Default] = 0
    Overwrite = 1
    OnlyIfCurrent = 2
    DangerouslyCommitMerelyToDiskCache = 4
    Consolidate = 8
End Enum

Public Enum StgFmt
    Storage = 0
    File = 3
    Any = 4
    DocFile = 5
End Enum

Public Enum StgMove
    Move = 0
    Copy = 1
    ShallowCopy = 2
End Enum

Public Enum StgTy
    Storage = 1
    Stream = 2
    LockBytes = 3
    [Property] = 4
End Enum

Public Enum StreamSeek
    [Set] = 0
    Cur = 1
    [End] = 2
End Enum

Public Enum PropSpecType
    LPWSTR = 0
    PROPID = 1
End Enum

<Flags()> _
Public Enum PropSetFlags
    [Default] = 0
    NonSimple = 1
    Ansi = 2
    UnBuffered = 4
    CaseSensitive = 8
End Enum

Public Enum VssUsageType
    Undefined = 0
    BootableSystemState = 1
    SystemService = 2
    UserData = 3
    Other
End Enum

Public Enum VssSourceType
    Undefined = 0
    TransacteDdb = 1
    NonTransacteDdb = 2
    Other
End Enum

Public Enum VssApplicationLevel
    Unknown = 0
    System = 1
    BackEnd = 2
    FrontEnd = 3
    Auto = -1
End Enum

Public Enum COMAdminTxIsolationLevelOptions
    Any = 0
    ReadUnCommitted = 1
    ReadCommitted = 2
    RepeatableRead = 3
    Serializable = 4
End Enum

Public Enum ComPlusAppType
    Unknown = &HFFFFFFFF
    Server = 1
    Library = 0
    Swc = 2
End Enum

<Flags()> _
Public Enum CrmFlags
    ForgetTarget = 1
    WrittenDuringPrepare = 2
    WrittenDuringCommit = 4
    WrittenDuringAbort = 8
    WrittenDuringRecovery = 16
    WrittenDuringReplay = 32
    ReplayInProgress = 64
End Enum

Public Enum CrmRegFlags
    PreparePhase = 1
    CommitPhase = 2
    AbortPhase = 4
    AllPhases = 7
    FailIfInDoubtsRemain = 16
End Enum

Public Enum CrmTransactionState
    Active
    Committed
    Aborted
    Indoubt
End Enum

Public Enum CSC_Binding
    NoBinding
    BindToPoolThread
End Enum

Public Enum CSC_COMTIIntrinsicsConfig
    NoCOMTIIntrinsics
    InheritCOMTIIntrinsics
End Enum

Public Enum CSC_IISIntrinsicsConfig
    NoIISIntrinsics
    InheritIISIntrinsics
End Enum

Public Enum CSC_InheritanceConfig
    Inherit
    Ignore
End Enum

Public Enum CSC_PartitionConfig
    NoPartition
    InheritPartition
    NewPartition
End Enum

Public Enum CSC_SxsConfig
    NoSxs
    InheritSxs
    NewSxs
End Enum

Public Enum CSC_SynchronizationConfig
    NoSynchronization
    IfContainerIsSynchronized
    NewSynchronizationIfNecessary
    NewSynchronization
End Enum

Public Enum CSC_ThreadPool
    ThreadPoolNone
    ThreadPoolInherit
    STAThreadPool
    MTAThreadPool
End Enum

Public Enum CSC_TrackerConfig
    DontUseTracker
    UseTracker
End Enum

Public Enum CSC_TransactionConfig
    NoTransaction
    IfContainerIsTransactional
    CreateTransactionIfNecessary
    NewTransaction
End Enum

<Flags()> _
Public Enum GetAppTrackerDataFlags
    ProcessExeName = 1
    LibraryApps = 2
    Swc = 4
    ClassName = 8
    ApplicationName = 16
End Enum

Public Enum TrackingCollType
    Processes
    Applications
    Components
End Enum

Public Enum TransactionVote
    Commit
    Abort
End Enum

Public Enum IsolationLevel
    Unspecified = -1
    Chaos = &H10
    ReadUncommitted = &H100
    Browse = &H100
    ReadCommitted = &H1000
    CursorStability = &H1000
    RepeatableRead = &H10000
    Serializable = &H100000
    Isolated = &H100000
End Enum

Public Enum Authentication_Level
    No_Authentication_Required = 0
    Incoming_Authentication_Required = 1
    Mutual_Authentication_Required = 2
End Enum

Public Enum DtcLu_LocalRecovery_Work
    CheckLuStatus = 1
    Trans = 2
    TMDown = 3
End Enum

Public Enum DtcLu_CompareState
    Committed = 1
    HeuristicCommitted = 2
    HeuristicMixed = 3
    HeuristicReset = 4
    InDoubt = 5
    Reset = 6
End Enum

Public Enum DtcLu_CompareStates_Confirmation
    Confirm = 1
    Protocol = 2
End Enum

Public Enum DtcLu_CompareStates_Error
    Protocol = 1
End Enum

Public Enum DtcLu_CompareStates_Response
    OK = 1
    Protocol = 2
End Enum

Public Enum DtcLu_Xln
    Cold = 1
    Warm = 2
End Enum

Public Enum DtcLu_Xln_Confirmation
    Confirm = 1
    LongNameMismatch = 2
    ColdWarmMismatch = 3
    Obsolete = 4
End Enum

Public Enum DtcLu_Xln_Error
    Protocol = 1
    LongNameMismatch = 2
    ColdWarmMismatch = 3
End Enum

Public Enum DtcLu_Xln_Response
    SendOurxLnBack = 1
    SendConfirmation = 2
    LongNameMismatch = 3
    ColdWarmMismatch = 4
End Enum

Public Enum IsoFlag
    RetainCommitDC = 1
    RetainCommit = 2
    RetainCommitNo = 3
    RetainAbortDC = 4
    RetainAbort = 8
    RetainAbortNo = 12
    RetainDontCare = 7
    RetainBoth = 10
    RetainNone = 13
    Optimistic = 16
    [ReadOnly] = 32
End Enum

Public Enum XactStat
    None = 0
    OpenNormal = 1
    OpenRefused = 2
    Preparing = 4
    Prepared = 8
    PrepareRetaining = &H10
    PrepareRetained = &H20
    Committing = &H40
    CommitRetaining = &H80
    Aborting = &H100
    Aborted = &H200
    Committed = &H400
    HeuristicAbort = &H800
    HeuristicCommit = &H1000
    HeuristicDamage = &H2000
    HeuristicDanger = &H4000
    ForcedAbort = &H8000
    ForcedCommit = &H10000
    InDoubt = &H20000
    Closed = &H40000
    Open = 3
    NotPrepared = &H7FFC3
    All = &H7FFFF
End Enum

Public Enum XactHeuristic
    Abort
    Commit
    Damage
    Danger
End Enum

